問題八 Coffee 常見的錯誤,空白
這裡有一個簡單的 simple Code 它是用 Coffee Script 寫的,乍看之下沒問題,但是問題可大了。
原先是執行 Promise 然後如果成功就印出 "then",如果失敗就 Show Error。
Promise
.then() ->
console.log 'then'
.fail(error) ->
console.log "has error !!!"
console.log error if error
callback()
但是這個其實是錯的 少了一個空白
Promise
.then() ->
console.log 'then'
.fail(error) ->
console.log "has error !!!"
console.log error if error
正確的應該是
Promise
.then () ->
console.log 'then'
.fail (error) ->
console.log "has error !!!"
console.log error if error
為什麼會這樣呢?
看看編譯後的 JS 就會明白了
這是錯誤的
Promise.then()(function() {
return console.log('then');
}).fail(error)(function() {
console.log("has error !!!");
if (error) {
return console.log(error);
}
});
這個是對的
Promise.then(function() {
return console.log('then');
}).fail(function(error) {
console.log("has error !!!");
if (error) {
return console.log(error);
}
});
所以撰寫 CoffeeScript 要很注意 compile 後的結果